#ifndef KUKASEAMTECHONLASERSENSORINSTANCE_H
#define KUKASEAMTECHONLASERSENSORINSTANCE_H

#include "kukaseamtechonlasersensorinstance_global.h"
#include "_Interface/_global_datastruct.h"
#include "_Interface/_interface_backend.h"
#include "_Interface/_interface_hmi.h"
class KUKASEAMTECHONLASERSENSORINSTANCESHARED_EXPORT KUKASeamTechonLaserSensorInstance{
private:
    HmiInterface* pHmi = nullptr;
    BackendInterface* pBackend = nullptr;
public:
    KUKASeamTechonLaserSensorInstance(short Local_Remote);
    ~KUKASeamTechonLaserSensorInstance();
public:
    QWidget* getUiHandle();
private:
    void RegisiterBackendtoHmi();
public:

    void task_uifast_UiDataUpdate();
    void task_uifast_LaserDataScopeUpdate();

    void  task_mainloop_toRobotKRLReceiveLoopRun();
    void  task_mainloop_toRobotKRLSendLoopRun();

    void  task_mainloop_toLaserSensorReceive();
    void  task_mainloop_toLaserSensorSend();

    void  task_mainloop_SeamTechTCPThreadLoopRun();
    void  task_mainloop_LaserSensorDataSave();

    void  task_kukaloop_SeamTechUDPThreadLoopRun();

    void  task_com_RemoteDataRecv(QByteArray Data);
    void  task_com_RemoteDataSend(QByteArray& Data);
};

#endif // KUKASEAMTECHONLASERSENSORINSTANCE_H
